package org.example.lamdba;

import java.util.stream.Stream;

/**
 * @author zhaorui
 * @Date 2024/6/14  19:58
 * @description:
 */
public class CommonLambda {

    public static void main(String[] args) {
        // 假如要获得 l o v e
        String[] arr = {"a","love","","a","ll","lo_ve"};

       // 流式编程
       Stream.of(arr).filter(i -> ! i.isEmpty())
                // .peek(i -> System.out.println(i)) //在流编程中必须有一个终止操作
                .distinct() // 去重操作
                .sorted((i, j) -> - 1) // 排序操作
                // .findFirst()// 终止操作只能有一个，而中间操作可以有无数个
                .limit(1)  // 进行一个中间操作
               .map( i -> i.replace("_","")) // 针对值进行函数操作
               .flatMap(i -> Stream.of(i.split("")) ) // 将字符串进行流式处理
                .forEach(System.out::println);
    }

}
